﻿using System;
using System.Linq;
using System.Data;
using System.IO;
using TDT_Project.classes;
using System.Text;
using Telerik.Web.UI;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace TDT_Project.Controller
{
    public partial class xem_ls_dangnhap : System.Web.UI.UserControl
    {
        cls_nienkhoa nienche = new cls_nienkhoa();
        cls_lop lop = new cls_lop();
        cls_phuhuynhxemdiem cls = new cls_phuhuynhxemdiem();
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                load_nienche();
               // load_lop();
               // load_svien();
                DataTable dt = new DataTable();
                gv_LS.DataSource = dt;
                gv_LS.DataBind();
            }
        }
        private void load_nienche()
        {
            DataSet ds = nienche.load_nienkho_combo();
            if (ds != null && ds.Tables[0].Rows.Count > 0)
            {
                cbo_nienhoc.DataSource = ds;
                cbo_nienhoc.DataTextField = "TenNienHoc";
                cbo_nienhoc.DataValueField = "NienHoc_id";
                cbo_nienhoc.DataBind();
                string s = "";
                if (DateTime.Now.Month > 8)
                    s = DateTime.Now.Year + "-" + DateTime.Now.AddYears(1).Year;
                else
                    s = DateTime.Now.AddYears(-1).Year + "-" + DateTime.Now.Year;
                DataRow[] dr = ds.Tables[0].Select("TenNienHoc='" + s + "'");
                if (dr.Count() > 0)
                    cbo_nienhoc.SelectedValue = dr[0][0].ToString();
            }
        }
        //private void load_lop()
        //{
        //    DataSet ds = lop.load_lop_combo();
        //    if (ds != null && ds.Tables[0].Rows.Count > 0)
        //    {
        //        cbo_lop.DataSource = ds;
        //        cbo_lop.DataTextField = "TenLop";
        //        cbo_lop.DataValueField = "Lop_Id";
        //        cbo_lop.DataBind();

        //    }
        //}
        //private void load_svien()
        //{
        //    string lop_id = cbo_lop.SelectedValue.ToString();
        //    string nienkhoa_id = cbo_nienhoc.SelectedValue.ToString();
        //    DataSet ds_hsinh = lop.load_hocsinh_combo(nienkhoa_id, lop_id);
        //    if (ds_hsinh != null && ds_hsinh.Tables[0].Rows.Count > 0)
        //    {
        //        cbo_hocsinh.DataSource = ds_hsinh;
        //        cbo_hocsinh.DataTextField = "hoten";
        //        cbo_hocsinh.DataValueField = "HocSinh_ID";
        //        cbo_hocsinh.DataBind();
        //    }
        //}
        protected void cbo_nienhoc_SelectedIndexChanged(object sender, Telerik.Web.UI.RadComboBoxSelectedIndexChangedEventArgs e)
        {
            //load_svien();
        }

        protected void cbo_lop_SelectedIndexChanged(object sender, Telerik.Web.UI.RadComboBoxSelectedIndexChangedEventArgs e)
        {
            //load_svien();
        }

        protected void btn_gopy_PH_Click(object sender, EventArgs e)
        {
           
            //DataTable dt = new DataTable();
            //DataSet ds = cls.Get_Log_Diem(cbo_hocsinh.SelectedValue.ToString(), cbo_lop.SelectedValue.ToString(), rdo_HK.SelectedValue.ToString(), cbo_nienhoc.SelectedValue.ToString());
            //if (ds != null && ds.Tables[0].Rows.Count > 0)
            //{
            //    gv_LS.DataSource = ds.Tables[0].DefaultView;
            //    gv_LS.DataBind();
            //}
            //else
            //{
            //    gv_LS.DataSource = dt;
            //    gv_LS.DataBind();
            //}
        }

        protected void RadDatePicker1_SelectedDateChanged(object sender, Telerik.Web.UI.Calendar.SelectedDateChangedEventArgs e)
        {

           DateTime date=  Convert.ToDateTime(RadDatePicker1.SelectedDate);
            DataTable dt = new DataTable();
            DataSet ds = cls.Get_Log_Diem(rdo_HK.SelectedValue.ToString(), cbo_nienhoc.SelectedValue.ToString(), date);
            if (ds != null && ds.Tables[0].Rows.Count > 0)
            {
                gv_LS.DataSource = ds.Tables[0].DefaultView;
                gv_LS.DataBind();
            }
            else
            {
                gv_LS.DataSource = dt;
                gv_LS.DataBind();
            }
        }

        protected void btn_xuat_Click(object sender, EventArgs e)
        {
            if (RadDatePicker1.SelectedDate != null)
            {
                DateTime date = Convert.ToDateTime(RadDatePicker1.SelectedDate);
                DataSet ds = cls.Get_Log_Diem(rdo_HK.SelectedValue.ToString(), cbo_nienhoc.SelectedValue.ToString(), date);
                if (ds != null && ds.Tables[0].Rows.Count > 0)
                {
                    Response.ContentType = "application/csv";
                    Response.Charset = "";
                    Response.AddHeader("Content-Disposition", "attachment;filename=LichSuDangNhap.csv");
                    Response.ContentEncoding = Encoding.Unicode;
                    Response.BinaryWrite(Encoding.Unicode.GetPreamble());
                    StringBuilder sb = new StringBuilder();
                    //int[] icolumn = new int[] { 0,1,2,3,4,5,6 };

                    sb.Append("\t\t\t\t  Lịch sử đăng nhập  \n");

                    sb.Append("\t\t\t Niên học:  \t " + ( cbo_nienhoc.Text) + " \t Học Kỳ: \t" + rdo_HK.SelectedValue + "\n");
                    sb.Append("\t\t\t Ngày đăng nhập:  \t " + RadDatePicker1.SelectedDate.Value.ToShortDateString() + "\n ");
                   
                    //Tạo các header cho bảng tính
                    sb.Append("STT \t Họ tên học sinh \t Lớp \t Số điện thoại cập nhật \t Số điện thoại dữ liệu \t Kết quả so sánh \t Thời gian cập nhật \t");
                    Response.Write(sb.ToString() + "\n");
                    Response.Flush();
                    //Duyệt từng bản ghi 
                    int index = 0;
                    while (ds.Tables[0].Rows.Count >= index + 1)
                    {
                        sb = new StringBuilder();
                        for (int col = 0; col < ds.Tables[0].Columns.Count; col++)
                        {
                            string value = ds.Tables[0].Rows[index][col].ToString();
                            if (col != 1)
                            {
                                if (col == 4 || col == 5) // chuyen kieu so thanh chuoi trong excel
                                    value = "'" + value;
                                sb.Append(value);
                                sb.Append("\t");
                            }
                        }
                        Response.Write(sb.ToString() + "\n");
                        Response.Flush();
                        index = index + 1;
                    }
                    sb = new StringBuilder();
                    Response.Write(sb.ToString() + "\n");
                    Response.Flush();
                    ds.Tables[0].Dispose();
                    Response.End();
                }
            }
        }

        protected void btn_xoa_Click(object sender, EventArgs e)
        {
            string ID = "";
            
            if (gv_LS.SelectedItems.Count > 0)
            {
                foreach (GridDataItem item in gv_LS.Items)
                {
                    CheckBox chk = (CheckBox)item["checkbox"].Controls[0];
                    if (chk.Checked == true)
                    {
                        
                        ID+= item["ID"].Text+",";                     
                      
                    }

                }
                cls.Delete_Log(ID);
                DateTime date = Convert.ToDateTime(RadDatePicker1.SelectedDate);
                DataTable dt = new DataTable();
                DataSet ds = cls.Get_Log_Diem(rdo_HK.SelectedValue.ToString(), cbo_nienhoc.SelectedValue.ToString(), date);
                if (ds != null && ds.Tables[0].Rows.Count > 0)
                {
                    gv_LS.DataSource = ds.Tables[0].DefaultView;
                    gv_LS.DataBind();
                }
                else
                {
                    gv_LS.DataSource = dt;
                    gv_LS.DataBind();
                }
            }
           
        }
    }
}